package org.wutopia.labcloud.domain.order.service;

import org.wutopia.labcloud.domain.order.controller.vo.input.OrderCreateOrderInputVO;
import org.wutopia.labcloud.domain.order.controller.vo.input.OrderGetListInputVO;
import org.wutopia.labcloud.domain.order.controller.vo.input.OrderPayInputVO;
import org.wutopia.labcloud.domain.order.controller.vo.output.OrderGetListOutputVO;
import org.wutopia.labcloud.library.common.base.PageInputVO;
import org.wutopia.labcloud.library.common.base.PageOutputVO;

import java.util.List;

public interface OrderService {

    void createOrder(OrderCreateOrderInputVO vo) throws Exception;

    PageOutputVO<List<OrderGetListOutputVO>> getList(PageInputVO<OrderGetListInputVO> vo);

    void pay(OrderPayInputVO vo) throws Exception;

    void cancel(Long orderId) throws Exception;

    void confirmed(Long orderId) throws Exception;
}

